package br.com.rglariguet.pioneer.dao;

import java.util.List;

import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import br.com.rglariguet.pioneer.enums.TipoUsuarioEnum;
import br.com.rglariguet.pioneer.modelos.Usuario;

@Repository
@Transactional
public class UsuarioDAO extends DaoGenerico<Usuario>{

	public Usuario buscaPorNome(String nome) {
		return (Usuario) getSession()
				.createQuery(
						"from Usuario usuario where usuario.nome = :nome")
				.setParameter("nome", nome).uniqueResult();
	}
	
	public List<Usuario> listarTodosPorTipo(TipoUsuarioEnum tipo) {
		return (List<Usuario>)getSession().createQuery("from Usuario as usuario where usuario.tipoUsuario = :tipo order by usuario.nome").setParameter("tipo", tipo).list();
	}
}
